package it.av.training.rest.service;

import it.av.training.rest.models.User;

/**
 * Simple Services to work with {@link User}
 * 
 * @author alessandro vincelli
 * 
 */
public interface UserService {

    /**
     * Add a new user
     * 
     * @param user
     * @return added user
     */
    public User addUser(User user);

    /**
     * Remove and existing user
     * 
     * @param userID
     */
    public void removeUser(String userID);

    /**
     * Modify an existing user
     * 
     * @param user
     * @return modified user
     */
    public User editUser(User user);

    /**
     * Return an existing user
     * 
     * @param userID
     * @return user
     */
    public User getUser(String userID);

}